Generally caching of block device data at a relatively lower latency device provides phenomenal performance for both read and write input/output (“I/O”) operations. As a read cache, data is stored in the cache device until it is replaced with the new data. Until then, the data is read from the cache device for subsequent read I/O operations directed to the same data block. As a write cache, new data is written to the cache device, and the write I/O operation is informed completed. Later based on policy, the dirty data stored in the cache device is persisted to the underlying stable medium. In addition, the cache device can be a solid state device (“SSD”). When compared to a hard disk drive, SSD devices have superior read and write performance. It is therefore desirable to maximize use of the SSD device(s) as the cache device to achieve a greater performance advantage.
In conventional data storage systems, petrabytes of data may be stored, and this data may be stored in a number of different types of storage devices/drives. Additionally, similar types of storage devices/drives can be grouped into a tier. For example, relatively lower performance storage devices/drives grouped in lower tiers (e.g., serial advanced technology attachment (“SATA”) drives) may be used to store archival data, which is less frequently accessed. The lower performance storage devices/drives are less costly and, because the archival data is accessed less frequently, the lower I/O performance may be acceptable. Relatively higher performance storage devices/drives grouped in higher tiers (e.g., high RPM serially attached SCSI (“SAS”) drives) may be used to store “hot” data, i.e., frequently accessed data. The amount of hot data typically makes up a smaller portion of the total data, for example, terabytes of the petrabytes stored in the data storage system. Although the higher performance storage devices/drives are more costly, their higher I/O performance capabilities are needed to provide the desired level of service. Thus, to maximize use of the available SSD devices that can cache data for the data storage system, it can be desirable to use the SSD devices to cache hot data stored in the higher tiers (e.g., terabytes of data), while avoiding caching all of the data (e.g., petrabytes of data) including less-frequently accessed data.